<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
          "DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
  <title>simvoc.core.metascheduler.Metascheduler</title>
  <link rel="stylesheet" href="epydoc.css" type="text/css" />
  <script type="text/javascript" src="epydoc.js"></script>
</head>

<body bgcolor="white" text="black" link="blue" vlink="#204080"
      alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
       bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="middle">
  <!-- Home link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="simvoc-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Tree link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Index link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Help link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Project homepage -->
      <th class="navbar" align="right" width="100%">
        <table border="0" cellpadding="0" cellspacing="0">
          <tr><th class="navbar" align="center"
            >SimVOC</th>
          </tr></table></th>
  </tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
  <tr valign="top">
    <td width="100%">
      <span class="breadcrumbs">
        <a href="simvoc-module.html">Package&nbsp;simvoc</a> ::
        <a href="simvoc.core-module.html">Package&nbsp;core</a> ::
        <a href="simvoc.core.metascheduler-module.html">Module&nbsp;metascheduler</a> ::
        Class&nbsp;Metascheduler
      </span>
    </td>
    <td>
      <table cellpadding="0" cellspacing="0">
        <!-- hide/show private -->
        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
      </table>
    </td>
  </tr>
</table>
<!-- ==================== CLASS DESCRIPTION ==================== -->
<h1 class="epydoc">Class Metascheduler</h1><p class="nomargin-top"><span class="codelink"><a href="simvoc.core.metascheduler-pysrc.html#Metascheduler">source&nbsp;code</a></span></p>
<center>
<center>  <map id="uml_class_diagram_for_simvoc_c_25" name="uml_class_diagram_for_simvoc_c_25">
<area shape="rect" id="node52" href="simvoc.core.metascheduler.Metascheduler-class.html#__init__" title="x.__init__(...) initializes x; see x.__class__.__doc__ for signature" alt="" coords="17,377,619,396"/>
<area shape="rect" id="node52" href="simvoc.core.metascheduler.Metascheduler-class.html#get_free_count" title="Returns the number of *sites* that had at least one free CPU core at the &#160;last matrix update" alt="" coords="17,396,619,415"/>
<area shape="rect" id="node52" href="simvoc.core.metascheduler.Metascheduler-class.html#claim_slot" title="Does nothing and returns False." alt="" coords="17,415,619,433"/>
<area shape="rect" id="node52" href="simvoc.core.metascheduler.Metascheduler-class.html#free_slot" title="Does nothing in this implementation" alt="" coords="17,433,619,452"/>
<area shape="rect" id="node52" href="simvoc.core.metascheduler.Metascheduler-class.html#pick_slot" title="Does nothing and returns None" alt="" coords="17,452,619,471"/>
<area shape="rect" id="node52" href="simvoc.core.metascheduler.Metascheduler-class.html#start_job" title="Does nothing in this implementation" alt="" coords="17,471,619,489"/>
<area shape="rect" id="node52" href="simvoc.core.metascheduler.Metascheduler-class.html#mark_complete" title="Does nothing in this implementation" alt="" coords="17,489,619,508"/>
<area shape="rect" id="node52" href="simvoc.core.metascheduler.Metascheduler-class.html#job_done" title="Does nothing in this implementation" alt="" coords="17,508,619,527"/>
<area shape="rect" id="node52" href="simvoc.core.metascheduler.Metascheduler-class.html#check_schedule" title="Determines if a matrix update event needs to be scheduled, and adds the &#160;matrix update event if necessary." alt="" coords="17,527,619,545"/>
<area shape="rect" id="node52" href="simvoc.core.metascheduler.Metascheduler-class.html#add_target" title="Adds a target site to the metascheduler." alt="" coords="17,545,619,564"/>
<area shape="rect" id="node52" href="simvoc.core.metascheduler.Metascheduler-class.html#remove_target" title="Remove a target site from the metascheduler." alt="" coords="17,564,619,583"/>
<area shape="rect" id="node52" href="simvoc.core.metascheduler.Metascheduler-class.html#rank_site" title="Computes the ranking for a site, so that the site can be placed into the &#160;proper scheduling matrix level." alt="" coords="17,583,619,601"/>
<area shape="rect" id="node52" href="simvoc.core.metascheduler.Metascheduler-class.html#set_site_matrix" title="Set the depth of a site in the site matrix." alt="" coords="17,601,619,620"/>
<area shape="rect" id="node52" href="simvoc.core.metascheduler.Metascheduler-class.html#schedule" title="Periodically invoked method to adjust the scheduling matrix, check for dead sites, check to see if CPUs have been added to dead sites, and check to see that previously submitted jobs have been started." alt="" coords="17,620,619,639"/>
<area shape="rect" id="node52" href="simvoc.core.metascheduler.Metascheduler-class.html#submit_job" title="Submits a job to the lowest&#45;ranked site in the scheduling matrix." alt="" coords="17,639,619,657"/>
<area shape="rect" id="node1" href="simvoc.core.metascheduler.Metascheduler-class.html" title="Simple metascheduler: sends jobs to the site with the lowest projected waiting time, based on a ranking algorithm." alt="" coords="5,345,629,663"/>
<area shape="rect" id="node53" href="simvoc.core.scheduler.Scheduler-class.html#add_resource" title="Adds a resource to the resource broker map." alt="" coords="205,39,431,57"/>
<area shape="rect" id="node53" href="simvoc.core.scheduler.Scheduler-class.html#add_scheduler_event" title="Adds a scheduler event for a time not in the past." alt="" coords="205,57,431,76"/>
<area shape="rect" id="node53" href="simvoc.core.scheduler.Scheduler-class.html#add_submit_event" title="Schedules an event to submit a job at a time not in the past." alt="" coords="205,76,431,95"/>
<area shape="rect" id="node53" href="simvoc.core.scheduler.Scheduler-class.html#add_targets" title="Adds a list of scheduling targets to the pool." alt="" coords="205,95,431,113"/>
<area shape="rect" id="node53" href="simvoc.core.scheduler.Scheduler-class.html#adjust_metric" title="Changes an aggregation metric field." alt="" coords="205,113,431,132"/>
<area shape="rect" id="node53" href="simvoc.core.scheduler.Scheduler-class.html#adjust_vo" title="Adjust the aggregation metrics for a single VO." alt="" coords="205,132,431,151"/>
<area shape="rect" id="node53" href="simvoc.core.scheduler.Scheduler-class.html#cancel_job" title="Cancels a job that has NOT YET STARTED." alt="" coords="205,151,431,169"/>
<area shape="rect" id="node53" href="simvoc.core.scheduler.Scheduler-class.html#debug" title="Writes debugging messages back to the simulator debugging interface." alt="" coords="205,169,431,188"/>
<area shape="rect" id="node53" href="simvoc.core.scheduler.Scheduler-class.html#enqueue_job" title="Adds a job to the scheduler queue." alt="" coords="205,188,431,207"/>
<area shape="rect" id="node53" href="simvoc.core.scheduler.Scheduler-class.html#event_pending" title="Returns: &#160;True iff a scheduling event is pending" alt="" coords="205,207,431,225"/>
<area shape="rect" id="node53" href="simvoc.core.scheduler.Scheduler-class.html#get_completed_count" title="Returns: &#160;number of jobs that have completed for a single VO or for the entire &#160;scheduler." alt="" coords="205,225,431,244"/>
<area shape="rect" id="node53" href="simvoc.core.scheduler.Scheduler-class.html#get_count" title="Returns the value of a metric for the scheduler aggregation or for a single Virtual Organization." alt="" coords="205,244,431,263"/>
<area shape="rect" id="node53" href="simvoc.core.scheduler.Scheduler-class.html#get_cpu_count" title="Returns: &#160;total number of scheduler slots" alt="" coords="205,263,431,281"/>
<area shape="rect" id="node53" href="simvoc.core.scheduler.Scheduler-class.html#submit_trigger" title="Method to be called by a simulator event whenever a job is scheduled for &#160;submission." alt="" coords="205,300,431,319"/>
<area shape="rect" id="node2" href="simvoc.core.scheduler.Scheduler-class.html" title="Generic job scheduler, which starts jobs instantly if nodes are available." alt="" coords="193,6,441,325"/>
</map>
  <img src="uml_class_diagram_for_simvoc_c_25.gif" alt='' usemap="#uml_class_diagram_for_simvoc_c_25" ismap="ismap" class="graph-without-title" />
</center>
</center>
<hr />
<p>Simple metascheduler: sends jobs to the site with the lowest projected
  waiting time, based on a ranking algorithm. Sites with at least one free 
  core are always favored over sites where all machines are utilized. If 
  jobs fail to start on the target site within a specified time period, 
  then the job submission will be canceled on the original target site, and
  the job will be re-submitted to a new site.</p>

<!-- ==================== INSTANCE METHODS ==================== -->
<a name="section-InstanceMethods"></a>
<table class="summary" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Instance Methods</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-InstanceMethods"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.metascheduler.Metascheduler-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">simobj</span>,
        <span class="summary-sig-arg">polling_interval</span>=<span class="summary-sig-default">300</span>,
        <span class="summary-sig-arg">name</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string">Metascheduler</code><code class="variable-quote">'</code></span>,
        <span class="summary-sig-arg">tag</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string"></code><code class="variable-quote">'</code></span>,
        <span class="summary-sig-arg">resubmit_delay</span>=<span class="summary-sig-default">3600</span>,
        <span class="summary-sig-arg">**kwds</span>)</span><br />
      x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.metascheduler-pysrc.html#Metascheduler.__init__">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">int</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.metascheduler.Metascheduler-class.html#get_free_count" class="summary-sig-name">get_free_count</a>(<span class="summary-sig-arg">self</span>)</span><br />
      Returns the number of *sites* that had at least one free CPU core at 
      the last matrix update</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.metascheduler-pysrc.html#Metascheduler.get_free_count">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">bool</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.metascheduler.Metascheduler-class.html#claim_slot" class="summary-sig-name">claim_slot</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">machine</span>)</span><br />
      Does nothing and returns False.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.metascheduler-pysrc.html#Metascheduler.claim_slot">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.metascheduler.Metascheduler-class.html#free_slot" class="summary-sig-name">free_slot</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">machine</span>)</span><br />
      Does nothing in this implementation</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.metascheduler-pysrc.html#Metascheduler.free_slot">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.metascheduler.Metascheduler-class.html#pick_slot" class="summary-sig-name">pick_slot</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">job</span>)</span><br />
      Does nothing and returns None</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.metascheduler-pysrc.html#Metascheduler.pick_slot">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type"><a href="simvoc.core.results.JobStartResult-class.html" 
      class="link">results.JobStartResult</a></span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.metascheduler.Metascheduler-class.html#start_job" class="summary-sig-name">start_job</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">job</span>,
        <span class="summary-sig-arg">machine</span>)</span><br />
      Does nothing in this implementation</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.metascheduler-pysrc.html#Metascheduler.start_job">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.metascheduler.Metascheduler-class.html#mark_complete" class="summary-sig-name">mark_complete</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">machine</span>,
        <span class="summary-sig-arg">job</span>)</span><br />
      Does nothing in this implementation</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.metascheduler-pysrc.html#Metascheduler.mark_complete">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.metascheduler.Metascheduler-class.html#job_done" class="summary-sig-name">job_done</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">machine</span>,
        <span class="summary-sig-arg">job</span>)</span><br />
      Does nothing in this implementation</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.metascheduler-pysrc.html#Metascheduler.job_done">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">bool</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.metascheduler.Metascheduler-class.html#check_schedule" class="summary-sig-name">check_schedule</a>(<span class="summary-sig-arg">self</span>)</span><br />
      Determines if a matrix update event needs to be scheduled, and adds 
      the matrix update event if necessary.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.metascheduler-pysrc.html#Metascheduler.check_schedule">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.metascheduler.Metascheduler-class.html#add_target" class="summary-sig-name">add_target</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">site</span>)</span><br />
      Adds a target site to the metascheduler.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.metascheduler-pysrc.html#Metascheduler.add_target">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.metascheduler.Metascheduler-class.html#remove_target" class="summary-sig-name">remove_target</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">site</span>)</span><br />
      Remove a target site from the metascheduler.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.metascheduler-pysrc.html#Metascheduler.remove_target">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">int</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.metascheduler.Metascheduler-class.html#rank_site" class="summary-sig-name">rank_site</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">site</span>)</span><br />
      Computes the ranking for a site, so that the site can be placed into 
      the proper scheduling matrix level.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.metascheduler-pysrc.html#Metascheduler.rank_site">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.metascheduler.Metascheduler-class.html#set_site_matrix" class="summary-sig-name">set_site_matrix</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">name</span>,
        <span class="summary-sig-arg">depth</span>)</span><br />
      Set the depth of a site in the site matrix.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.metascheduler-pysrc.html#Metascheduler.set_site_matrix">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.metascheduler.Metascheduler-class.html#schedule" class="summary-sig-name">schedule</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">time</span>,
        <span class="summary-sig-arg">simobj</span>)</span><br />
      Periodically invoked method to adjust the scheduling matrix, check 
      for dead sites, check to see if CPUs have been added to dead sites, 
      and check to see that previously submitted jobs have been started.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.metascheduler-pysrc.html#Metascheduler.schedule">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.metascheduler.Metascheduler-class.html#submit_job" class="summary-sig-name">submit_job</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">job</span>)</span><br />
      Submits a job to the lowest-ranked site in the scheduling matrix.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.metascheduler-pysrc.html#Metascheduler.submit_job">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.scheduler.Scheduler-class.html#add_resource" class="summary-sig-name">add_resource</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">service_name</span>,
        <span class="summary-sig-arg">obj</span>)</span><br />
      Adds a resource to the resource broker map.
      <em>(Inherited from <a href="simvoc.core.scheduler.Scheduler-class.html">simvoc.core.scheduler.Scheduler</a>)</em></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.scheduler-pysrc.html#Scheduler.add_resource">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.scheduler.Scheduler-class.html#add_scheduler_event" class="summary-sig-name">add_scheduler_event</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">time</span>)</span><br />
      Adds a scheduler event for a time not in the past.
      <em>(Inherited from <a href="simvoc.core.scheduler.Scheduler-class.html">simvoc.core.scheduler.Scheduler</a>)</em></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.scheduler-pysrc.html#Scheduler.add_scheduler_event">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.scheduler.Scheduler-class.html#add_submit_event" class="summary-sig-name">add_submit_event</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">time</span>,
        <span class="summary-sig-arg">job</span>)</span><br />
      Schedules an event to submit a job at a time not in the past.
      <em>(Inherited from <a href="simvoc.core.scheduler.Scheduler-class.html">simvoc.core.scheduler.Scheduler</a>)</em></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.scheduler-pysrc.html#Scheduler.add_submit_event">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.scheduler.Scheduler-class.html#add_targets" class="summary-sig-name">add_targets</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">machine_list</span>)</span><br />
      Adds a list of scheduling targets to the pool.
      <em>(Inherited from <a href="simvoc.core.scheduler.Scheduler-class.html">simvoc.core.scheduler.Scheduler</a>)</em></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.scheduler-pysrc.html#Scheduler.add_targets">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.scheduler.Scheduler-class.html#adjust_metric" class="summary-sig-name">adjust_metric</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">field</span>,
        <span class="summary-sig-arg">adj</span>)</span><br />
      Changes an aggregation metric field.
      <em>(Inherited from <a href="simvoc.core.scheduler.Scheduler-class.html">simvoc.core.scheduler.Scheduler</a>)</em></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.scheduler-pysrc.html#Scheduler.adjust_metric">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.scheduler.Scheduler-class.html#adjust_vo" class="summary-sig-name">adjust_vo</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">vo</span>,
        <span class="summary-sig-arg">field</span>,
        <span class="summary-sig-arg">adj</span>)</span><br />
      Adjust the aggregation metrics for a single VO.
      <em>(Inherited from <a href="simvoc.core.scheduler.Scheduler-class.html">simvoc.core.scheduler.Scheduler</a>)</em></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.scheduler-pysrc.html#Scheduler.adjust_vo">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.scheduler.Scheduler-class.html#cancel_job" class="summary-sig-name">cancel_job</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">job</span>)</span><br />
      Cancels a job that has NOT YET STARTED.
      <em>(Inherited from <a href="simvoc.core.scheduler.Scheduler-class.html">simvoc.core.scheduler.Scheduler</a>)</em></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.scheduler-pysrc.html#Scheduler.cancel_job">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.scheduler.Scheduler-class.html#debug" class="summary-sig-name">debug</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">message</span>)</span><br />
      Writes debugging messages back to the simulator debugging interface.
      <em>(Inherited from <a href="simvoc.core.scheduler.Scheduler-class.html">simvoc.core.scheduler.Scheduler</a>)</em></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.scheduler-pysrc.html#Scheduler.debug">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.scheduler.Scheduler-class.html#enqueue_job" class="summary-sig-name">enqueue_job</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">job</span>)</span><br />
      Adds a job to the scheduler queue.
      <em>(Inherited from <a href="simvoc.core.scheduler.Scheduler-class.html">simvoc.core.scheduler.Scheduler</a>)</em></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.scheduler-pysrc.html#Scheduler.enqueue_job">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">bool</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.scheduler.Scheduler-class.html#event_pending" class="summary-sig-name">event_pending</a>(<span class="summary-sig-arg">self</span>)</span><br />
      Returns:
      True iff a scheduling event is pending
      <em>(Inherited from <a href="simvoc.core.scheduler.Scheduler-class.html">simvoc.core.scheduler.Scheduler</a>)</em></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.scheduler-pysrc.html#Scheduler.event_pending">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">int</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.scheduler.Scheduler-class.html#get_completed_count" class="summary-sig-name">get_completed_count</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">vo</span>=<span class="summary-sig-default">None</span>)</span><br />
      Returns:
      number of jobs that have completed for a single VO or for the entire 
      scheduler.
      <em>(Inherited from <a href="simvoc.core.scheduler.Scheduler-class.html">simvoc.core.scheduler.Scheduler</a>)</em></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.scheduler-pysrc.html#Scheduler.get_completed_count">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.scheduler.Scheduler-class.html#get_count" class="summary-sig-name">get_count</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">field</span>,
        <span class="summary-sig-arg">vo</span>=<span class="summary-sig-default">None</span>)</span><br />
      Returns the value of a metric for the scheduler aggregation or for a 
      single Virtual Organization.
      <em>(Inherited from <a href="simvoc.core.scheduler.Scheduler-class.html">simvoc.core.scheduler.Scheduler</a>)</em></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.scheduler-pysrc.html#Scheduler.get_count">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">int</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.scheduler.Scheduler-class.html#get_cpu_count" class="summary-sig-name">get_cpu_count</a>(<span class="summary-sig-arg">self</span>)</span><br />
      Returns:
      total number of scheduler slots
      <em>(Inherited from <a href="simvoc.core.scheduler.Scheduler-class.html">simvoc.core.scheduler.Scheduler</a>)</em></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.scheduler-pysrc.html#Scheduler.get_cpu_count">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">int</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.scheduler.Scheduler-class.html#get_error_count" class="summary-sig-name">get_error_count</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">vo</span>=<span class="summary-sig-default">None</span>)</span><br />
      Returns:
      number of job errors observed for a single VO or for the entire 
      scheduler.
      <em>(Inherited from <a href="simvoc.core.scheduler.Scheduler-class.html">simvoc.core.scheduler.Scheduler</a>)</em></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.scheduler-pysrc.html#Scheduler.get_error_count">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.scheduler.Scheduler-class.html#get_metric" class="summary-sig-name">get_metric</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">field</span>)</span><br />
      Returns the value of the metric for a given field.
      <em>(Inherited from <a href="simvoc.core.scheduler.Scheduler-class.html">simvoc.core.scheduler.Scheduler</a>)</em></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.scheduler-pysrc.html#Scheduler.get_metric">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.scheduler.Scheduler-class.html#get_resource" class="summary-sig-name">get_resource</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">service_name</span>)</span><br />
      Returns:
      a reference to a resource object, if the resource is available from 
      the scheduler.
      <em>(Inherited from <a href="simvoc.core.scheduler.Scheduler-class.html">simvoc.core.scheduler.Scheduler</a>)</em></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.scheduler-pysrc.html#Scheduler.get_resource">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">int</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.scheduler.Scheduler-class.html#get_running_count" class="summary-sig-name">get_running_count</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">vo</span>=<span class="summary-sig-default">None</span>)</span><br />
      Returns:
      number of jobs currently running for a single VO or for the entire 
      scheduler
      <em>(Inherited from <a href="simvoc.core.scheduler.Scheduler-class.html">simvoc.core.scheduler.Scheduler</a>)</em></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.scheduler-pysrc.html#Scheduler.get_running_count">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">int</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.scheduler.Scheduler-class.html#get_total_queue_size" class="summary-sig-name">get_total_queue_size</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">vo</span>=<span class="summary-sig-default">None</span>)</span><br />
      Returns:
      total queue size (waiting+running) for a single VO or for the entire 
      scheduler.
      <em>(Inherited from <a href="simvoc.core.scheduler.Scheduler-class.html">simvoc.core.scheduler.Scheduler</a>)</em></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.scheduler-pysrc.html#Scheduler.get_total_queue_size">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type"><a href="simvoc.core.results.SchedResult-class.html" 
      class="link">results.SchedResult</a></span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="get_update"></a><span class="summary-sig-name">get_update</span>(<span class="summary-sig-arg">self</span>)</span><br />
      Obtains information about the current state of the scheduler.
      <em>(Inherited from <a href="simvoc.core.scheduler.Scheduler-class.html">simvoc.core.scheduler.Scheduler</a>)</em></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.scheduler-pysrc.html#Scheduler.get_update">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.scheduler.Scheduler-class.html#get_vo" class="summary-sig-name">get_vo</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">vo</span>,
        <span class="summary-sig-arg">field</span>)</span><br />
      Returns an aggregation metric for a single VO.
      <em>(Inherited from <a href="simvoc.core.scheduler.Scheduler-class.html">simvoc.core.scheduler.Scheduler</a>)</em></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.scheduler-pysrc.html#Scheduler.get_vo">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">int</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.scheduler.Scheduler-class.html#get_waiting_count" class="summary-sig-name">get_waiting_count</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">vo</span>=<span class="summary-sig-default">None</span>)</span><br />
      Returns:
      number of jobs waiting in the queue for a single VO or for the entire
      scheduler
      <em>(Inherited from <a href="simvoc.core.scheduler.Scheduler-class.html">simvoc.core.scheduler.Scheduler</a>)</em></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.scheduler-pysrc.html#Scheduler.get_waiting_count">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">bool</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.scheduler.Scheduler-class.html#is_target" class="summary-sig-name">is_target</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">machine</span>)</span><br />
      Returns:
      True iff machine is part of the scheduler pool
      <em>(Inherited from <a href="simvoc.core.scheduler.Scheduler-class.html">simvoc.core.scheduler.Scheduler</a>)</em></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.scheduler-pysrc.html#Scheduler.is_target">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">list</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.scheduler.Scheduler-class.html#kill_all" class="summary-sig-name">kill_all</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">field_name</span>,
        <span class="summary-sig-arg">value</span>)</span><br />
      Kills all jobs for which the field name matches a specified value.
      <em>(Inherited from <a href="simvoc.core.scheduler.Scheduler-class.html">simvoc.core.scheduler.Scheduler</a>)</em></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.scheduler-pysrc.html#Scheduler.kill_all">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.scheduler.Scheduler-class.html#kill_job" class="summary-sig-name">kill_job</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">job</span>)</span><br />
      Immediately kills a job, whether the job is running or not.
      <em>(Inherited from <a href="simvoc.core.scheduler.Scheduler-class.html">simvoc.core.scheduler.Scheduler</a>)</em></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.scheduler-pysrc.html#Scheduler.kill_job">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.scheduler.Scheduler-class.html#remove_resource" class="summary-sig-name">remove_resource</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">service_name</span>)</span><br />
      Removes a resource from the resource broker map.
      <em>(Inherited from <a href="simvoc.core.scheduler.Scheduler-class.html">simvoc.core.scheduler.Scheduler</a>)</em></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.scheduler-pysrc.html#Scheduler.remove_resource">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.scheduler.Scheduler-class.html#remove_targets" class="summary-sig-name">remove_targets</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">machine_list</span>)</span><br />
      Removes a list of target machines from the scheduler pool.
      <em>(Inherited from <a href="simvoc.core.scheduler.Scheduler-class.html">simvoc.core.scheduler.Scheduler</a>)</em></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.scheduler-pysrc.html#Scheduler.remove_targets">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.scheduler.Scheduler-class.html#set_metric" class="summary-sig-name">set_metric</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">field</span>,
        <span class="summary-sig-arg">qty</span>)</span><br />
      Sets the value of an aggregation metric.
      <em>(Inherited from <a href="simvoc.core.scheduler.Scheduler-class.html">simvoc.core.scheduler.Scheduler</a>)</em></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.scheduler-pysrc.html#Scheduler.set_metric">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.scheduler.Scheduler-class.html#set_vo" class="summary-sig-name">set_vo</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">vo</span>,
        <span class="summary-sig-arg">field</span>,
        <span class="summary-sig-arg">qty</span>)</span><br />
      Sets the value of an aggregation metric for a specific VO.
      <em>(Inherited from <a href="simvoc.core.scheduler.Scheduler-class.html">simvoc.core.scheduler.Scheduler</a>)</em></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.scheduler-pysrc.html#Scheduler.set_vo">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.scheduler.Scheduler-class.html#set_watchdog_callback" class="summary-sig-name">set_watchdog_callback</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">wdfn</span>)</span><br />
      Sets a callback function to be called whenever a job is added to the 
      scheduler queue.
      <em>(Inherited from <a href="simvoc.core.scheduler.Scheduler-class.html">simvoc.core.scheduler.Scheduler</a>)</em></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.scheduler-pysrc.html#Scheduler.set_watchdog_callback">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.scheduler.Scheduler-class.html#submit_trigger" class="summary-sig-name">submit_trigger</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">job</span>)</span><br />
      Method to be called by a simulator event whenever a job is scheduled 
      for submission.
      <em>(Inherited from <a href="simvoc.core.scheduler.Scheduler-class.html">simvoc.core.scheduler.Scheduler</a>)</em></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.scheduler-pysrc.html#Scheduler.submit_trigger">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
  <tr>
    <td colspan="2" class="summary">
    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
      <code>__delattr__</code>,
      <code>__format__</code>,
      <code>__getattribute__</code>,
      <code>__hash__</code>,
      <code>__new__</code>,
      <code>__reduce__</code>,
      <code>__reduce_ex__</code>,
      <code>__repr__</code>,
      <code>__setattr__</code>,
      <code>__sizeof__</code>,
      <code>__str__</code>,
      <code>__subclasshook__</code>
      </p>
    </td>
  </tr>
</table>
<!-- ==================== PROPERTIES ==================== -->
<a name="section-Properties"></a>
<table class="summary" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Properties</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-Properties"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
  <tr>
    <td colspan="2" class="summary">
    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
      <code>__class__</code>
      </p>
    </td>
  </tr>
</table>
<!-- ==================== METHOD DETAILS ==================== -->
<a name="section-MethodDetails"></a>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Method Details</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-MethodDetails"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
</table>
<a name="__init__"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">simobj</span>,
        <span class="sig-arg">polling_interval</span>=<span class="sig-default">300</span>,
        <span class="sig-arg">name</span>=<span class="sig-default"><code class="variable-quote">'</code><code class="variable-string">Metascheduler</code><code class="variable-quote">'</code></span>,
        <span class="sig-arg">tag</span>=<span class="sig-default"><code class="variable-quote">'</code><code class="variable-string"></code><code class="variable-quote">'</code></span>,
        <span class="sig-arg">resubmit_delay</span>=<span class="sig-default">3600</span>,
        <span class="sig-arg">**kwds</span>)</span>
    <br /><em class="fname">(Constructor)</em>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="simvoc.core.metascheduler-pysrc.html#Metascheduler.__init__">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>x.__init__(...) initializes x; see x.__class__.__doc__ for 
  signature</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>simobj</code></strong> - Reference to the simulator object</li>
        <li><strong class="pname"><code>polling_interval</code></strong> (number) - Polling interval for updating the scheduling matrix</li>
        <li><strong class="pname"><code>name</code></strong> (str) - Name of the metascheduler</li>
        <li><strong class="pname"><code>tag</code></strong> (str) - Optional scheduler tag</li>
        <li><strong class="pname"><code>resubmit_delay</code></strong> (number) - Resubmission delay</li>
        <li><strong class="pname"><code>kwds</code></strong> - Scheduler extra data</li>
    </ul></dd>
    <dt>Overrides:
        object.__init__
    </dt>
  </dl>
</td></tr></table>
</div>
<a name="get_free_count"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">get_free_count</span>(<span class="sig-arg">self</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="simvoc.core.metascheduler-pysrc.html#Metascheduler.get_free_count">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Returns the number of *sites* that had at least one free CPU core at 
  the last matrix update</p>
  <dl class="fields">
    <dt>Returns: int</dt>
        <dd>total number of free scheduler slots</dd>
    <dt>Overrides:
        <a href="simvoc.core.scheduler.Scheduler-class.html#get_free_count">scheduler.Scheduler.get_free_count</a>
    </dt>
  </dl>
</td></tr></table>
</div>
<a name="claim_slot"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">claim_slot</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">machine</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="simvoc.core.metascheduler-pysrc.html#Metascheduler.claim_slot">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Does nothing and returns False. This method is not used in this 
  implementation because the metascheduler does not manage machines 
  directly.</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>machine</code></strong> - Machine object whose claim() method will be called</li>
    </ul></dd>
    <dt>Returns: bool</dt>
        <dd>False</dd>
    <dt>Overrides:
        <a href="simvoc.core.scheduler.Scheduler-class.html#claim_slot">scheduler.Scheduler.claim_slot</a>
    </dt>
  </dl>
</td></tr></table>
</div>
<a name="free_slot"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">free_slot</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">machine</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="simvoc.core.metascheduler-pysrc.html#Metascheduler.free_slot">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Does nothing in this implementation</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>machine</code></strong> - Machine object to mark as free</li>
    </ul></dd>
    <dt>Overrides:
        <a href="simvoc.core.scheduler.Scheduler-class.html#free_slot">scheduler.Scheduler.free_slot</a>
    </dt>
  </dl>
</td></tr></table>
</div>
<a name="pick_slot"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">pick_slot</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">job</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="simvoc.core.metascheduler-pysrc.html#Metascheduler.pick_slot">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Does nothing and returns None</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>job</code></strong> - Job object. Unused in this base implementation, but may be used 
          by subclasses for purposes such as requirements matching.</li>
    </ul></dd>
    <dt>Returns:</dt>
        <dd>Machine object in the free scheduling targets list if one is 
          available (unclaimed). If there are no unclaimed targets, or the 
          free list is empty, this method will return None.</dd>
    <dt>Overrides:
        <a href="simvoc.core.scheduler.Scheduler-class.html#pick_slot">scheduler.Scheduler.pick_slot</a>
    </dt>
  </dl>
</td></tr></table>
</div>
<a name="start_job"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">start_job</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">job</span>,
        <span class="sig-arg">machine</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="simvoc.core.metascheduler-pysrc.html#Metascheduler.start_job">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Does nothing in this implementation</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>job</code></strong> - Job to be started</li>
        <li><strong class="pname"><code>machine</code></strong> - Claimed machine on which job is to be run</li>
    </ul></dd>
    <dt>Returns: <a href="simvoc.core.results.JobStartResult-class.html" 
      class="link">results.JobStartResult</a></dt>
    <dt>Overrides:
        <a href="simvoc.core.scheduler.Scheduler-class.html#start_job">scheduler.Scheduler.start_job</a>
    </dt>
  </dl>
</td></tr></table>
</div>
<a name="mark_complete"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">mark_complete</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">machine</span>,
        <span class="sig-arg">job</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="simvoc.core.metascheduler-pysrc.html#Metascheduler.mark_complete">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Does nothing in this implementation</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>machine</code></strong> - Machine on which job was running</li>
        <li><strong class="pname"><code>job</code></strong> - Job to be marked complete</li>
    </ul></dd>
    <dt>Overrides:
        <a href="simvoc.core.scheduler.Scheduler-class.html#mark_complete">scheduler.Scheduler.mark_complete</a>
    </dt>
  </dl>
</td></tr></table>
</div>
<a name="job_done"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">job_done</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">machine</span>,
        <span class="sig-arg">job</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="simvoc.core.metascheduler-pysrc.html#Metascheduler.job_done">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Does nothing in this implementation</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>machine</code></strong> - Machine on which the job was running</li>
        <li><strong class="pname"><code>job</code></strong> - Job that is finishing</li>
    </ul></dd>
    <dt>Returns:</dt>
        <dd>scheduler status result collection</dd>
    <dt>Overrides:
        <a href="simvoc.core.scheduler.Scheduler-class.html#job_done">scheduler.Scheduler.job_done</a>
    </dt>
  </dl>
</td></tr></table>
</div>
<a name="check_schedule"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">check_schedule</span>(<span class="sig-arg">self</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="simvoc.core.metascheduler-pysrc.html#Metascheduler.check_schedule">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Determines if a matrix update event needs to be scheduled, and adds 
  the matrix update event if necessary. Matrix updates are needed as long 
  as jobs that have been submitted through the metascheduler have not yet 
  started. To reduce the total number of simulator events, and thereby 
  increase simulation speed, the metascheduler is capable of suspending 
  itself when there are no jobs waiting.</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>delay</code></strong> - Optional scheduling delay to add</li>
    </ul></dd>
    <dt>Returns: bool</dt>
        <dd>True iff a new matrix update has been added</dd>
    <dt>Overrides:
        <a href="simvoc.core.scheduler.Scheduler-class.html#check_schedule">scheduler.Scheduler.check_schedule</a>
    </dt>
  </dl>
</td></tr></table>
</div>
<a name="add_target"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">add_target</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">site</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="simvoc.core.metascheduler-pysrc.html#Metascheduler.add_target">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Adds a target site to the metascheduler. If the site has at least one 
  CPU core, then the site is added to the scheduling matrix. Otherwise, the
  site will be added to the dead sites list and periodically re-checked to 
  see if CPU cores have been added. Sites may be added to the metascheduler
  only once, and all site names must be unique, or an Exception will be 
  raised.</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>site</code></strong> - Site to add to the metascheduler</li>
    </ul></dd>
    <dt>Overrides:
        <a href="simvoc.core.scheduler.Scheduler-class.html#add_target">scheduler.Scheduler.add_target</a>
    </dt>
  </dl>
</td></tr></table>
</div>
<a name="remove_target"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">remove_target</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">site</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="simvoc.core.metascheduler-pysrc.html#Metascheduler.remove_target">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Remove a target site from the metascheduler. The site must be present 
  either in the scheduling matrix or on the dead sites list, or an 
  Exception will occur.</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>site</code></strong> - Site to remove from the metascheduler</li>
    </ul></dd>
    <dt>Overrides:
        <a href="simvoc.core.scheduler.Scheduler-class.html#remove_target">scheduler.Scheduler.remove_target</a>
    </dt>
  </dl>
</td></tr></table>
</div>
<a name="rank_site"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">rank_site</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">site</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="simvoc.core.metascheduler-pysrc.html#Metascheduler.rank_site">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Computes the ranking for a site, so that the site can be placed into 
  the proper scheduling matrix level. All sites with at least one free core
  have a rank of zero. Sites without free cores have a rank of one plus the
  integer result of computing the ratio of waiting jobs to total CPU core 
  count. Sites without any CPU cores are assigned negative ranks.</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>site</code></strong> - Site to be ranked</li>
    </ul></dd>
    <dt>Returns: int</dt>
        <dd>Site ranking (if non-negative). If a negative value is returned, 
          then the site has no CPU cores.</dd>
  </dl>
</td></tr></table>
</div>
<a name="set_site_matrix"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">set_site_matrix</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">name</span>,
        <span class="sig-arg">depth</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="simvoc.core.metascheduler-pysrc.html#Metascheduler.set_site_matrix">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Set the depth of a site in the site matrix. Even when the site depth 
  does not change from its present value, this method will remove the site 
  from the site matrix and then re-add it to the end of the row at the 
  specified depth level. Since jobs are always submitted to the site at the
  beginning of the lowest-depth row, this procedure has the effect of 
  load-balancing between sites.</p>
  <p>A negative depth will cause a site to be removed from the active site 
  depth lists.</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>name</code></strong> (str) - Name of the site</li>
        <li><strong class="pname"><code>depth</code></strong> (int) - New site depth</li>
    </ul></dd>
  </dl>
</td></tr></table>
</div>
<a name="schedule"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">schedule</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">time</span>,
        <span class="sig-arg">simobj</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="simvoc.core.metascheduler-pysrc.html#Metascheduler.schedule">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Periodically invoked method to adjust the scheduling matrix, check for
  dead sites, check to see if CPUs have been added to dead sites, and check
  to see that previously submitted jobs have been started. This routine is 
  activated by a simulator event that is set by the check_schedule() 
  method.</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>time</code></strong> (number) - Current simulated time</li>
        <li><strong class="pname"><code>simobj</code></strong> - Reference to the simulator instance</li>
    </ul></dd>
    <dt>Returns:</dt>
        <dd>scheduler update result</dd>
    <dt>Overrides:
        <a href="simvoc.core.scheduler.Scheduler-class.html#schedule">scheduler.Scheduler.schedule</a>
    </dt>
  </dl>
</td></tr></table>
</div>
<a name="submit_job"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">submit_job</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">job</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="simvoc.core.metascheduler-pysrc.html#Metascheduler.submit_job">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Submits a job to the lowest-ranked site in the scheduling matrix. The 
  job will be added to the nanny list so that it can be monitored to ensure
  that it starts before the resubmission interval elapses. After 
  submission, the site position is adjusted in the scheduling matrix, so 
  that load-balancing between sites may be effected even when the site 
  depth does not change.</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>job</code></strong> - Job to be submitted</li>
    </ul></dd>
    <dt>Returns:</dt>
        <dd>the result of submitting the job to the site</dd>
    <dt>Overrides:
        <a href="simvoc.core.scheduler.Scheduler-class.html#submit_job">scheduler.Scheduler.submit_job</a>
    </dt>
  </dl>
</td></tr></table>
</div>
<br />
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
       bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="middle">
  <!-- Home link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="simvoc-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Tree link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Index link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Help link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Project homepage -->
      <th class="navbar" align="right" width="100%">
        <table border="0" cellpadding="0" cellspacing="0">
          <tr><th class="navbar" align="center"
            >SimVOC</th>
          </tr></table></th>
  </tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
  <tr>
    <td align="left" class="footer">
    Generated by Epydoc 3.0 on Fri Oct 23 11:04:31 2009
    </td>
    <td align="right" class="footer">
      <a target="mainFrame" href="http://epydoc.sourceforge.net"
        >http://epydoc.sourceforge.net</a>
    </td>
  </tr>
</table>

<script type="text/javascript">
  <!--
  // Private objects are initially displayed (because if
  // javascript is turned off then we want them to be
  // visible); but by default, we want to hide them.  So hide
  // them unless we have a cookie that says to show them.
  checkCookie();
  // -->
</script>
</body>
</html>
